﻿namespace demo16_switch
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
            //switch
            //switch后面表达式要跟case后面的常量表达式类型一致
            //int a = 0;
            //bool a1 = true;
            //bool a2 = false;
            //string s = "aaa";
            //switch (a)
            //{
            //    case 0:
            //        Console.WriteLine("0");
            //        break;
            //    case 1:
            //        Console.WriteLine("1");
            //        break;
            //    case 2:
            //        Console.WriteLine("2");
            //        break;
            //    case 3:
            //        Console.WriteLine("3");
            //        break;
            //    case 4:
            //        Console.WriteLine("4");
            //        break;
            //    case 5:
            //        Console.WriteLine("5");
            //        break;
            //    default:
            //        Console.WriteLine("default");
            //        break;
            //}

            //Console.WriteLine("请输入成绩：");
            //int score = Convert.ToInt32(Console.ReadLine());
            //string so = null;
            //switch (score / 10)
            //{
            //    case 10:
            //    case 9:
            //        so = "A";
            //        break;
            //    case 8:
            //        so = "B";
            //        break;
            //    case 7:
            //        so = "C";
            //        break;
            //    case 6:
            //        so = "D";
            //        break;
            //    default:
            //        so = "E";
            //        break;
            //}
            //Console.WriteLine($"您的等级为{so}");




            //高级用法
            //表达式 switch {
            //  值=>返回的值 如果没有对应匹配就报错 值和值之间用,
            // => lambda表达式
            //}
            //int a1 = 10;
            //string result = a1 switch
            //{
            //    1 => "aa",
            //    2 => "bb",
            //    10 => "cc",
            //    _ => "信仰"  //默认返回
            //};
            //Console.WriteLine(result);


            Console.WriteLine("请输入成绩：");
            int score = Convert.ToInt32(Console.ReadLine());
            string so = null;
            so = score switch
            {
                >= 90 and <= 100 => "A",
                >= 80 and < 90 => "B",
                >= 70 and < 80 => "C",
                >= 60 and < 70 => "D",
                _ => "E"
            };
            Console.WriteLine($"您的等级为{so}");
        }
    }
}
